package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.MallSku;

import java.util.*;
public class MallSkuExample extends SgExample<MallSkuExample.Criteria> {
    public static final Class<MallSku> beanClass = MallSku.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn itemId;
    public static EntityColumn skuValue;
    public static EntityColumn skuId;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        itemId = listMap.get("itemId");
        skuValue = listMap.get("skuValue");
        skuId = listMap.get("skuId");
        }

    public MallSkuExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected MallSkuExample.Criteria createCriteriaInternal() {
        return new MallSkuExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public MallSkuExample.Criteria andItemIdIsNull() {
            return isNull(itemId);
        }

        public MallSkuExample.Criteria andItemIdIsNotNull() {
            return isNotNull(itemId);
        }

        public MallSkuExample.Criteria andItemIdEqualTo(Long value) {
            return equalTo(itemId, value);
        }

        public MallSkuExample.Criteria andItemIdNotEqualTo(Long value) {
            return notEqualTo(itemId, value);
        }

        public MallSkuExample.Criteria andItemIdGreaterThan(Long value) {
            return greaterThan(itemId, value);
        }

        public MallSkuExample.Criteria andItemIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(itemId, value);
        }

        public MallSkuExample.Criteria andItemIdLessThan(Long value) {
            return lessThan(itemId, value);
        }

        public MallSkuExample.Criteria andItemIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(itemId, value);
        }

        public MallSkuExample.Criteria andItemIdIn(List<Long> values) {
            return in(itemId, values);
        }

        public MallSkuExample.Criteria andItemIdNotIn(List<Long> values) {
            return notIn(itemId, values);
        }

        public MallSkuExample.Criteria andItemIdBetween(Long value1, Long value2) {
            return between(itemId, value1, value2);
        }

        public MallSkuExample.Criteria andItemIdNotBetween(Long value1, Long value2) {
            return notBetween(itemId, value1, value2);
        }
        public MallSkuExample.Criteria andSkuValueIsNull() {
            return isNull(skuValue);
        }

        public MallSkuExample.Criteria andSkuValueIsNotNull() {
            return isNotNull(skuValue);
        }

        public MallSkuExample.Criteria andSkuValueEqualTo(String value) {
            return equalTo(skuValue, value);
        }

        public MallSkuExample.Criteria andSkuValueNotEqualTo(String value) {
            return notEqualTo(skuValue, value);
        }

        public MallSkuExample.Criteria andSkuValueGreaterThan(String value) {
            return greaterThan(skuValue, value);
        }

        public MallSkuExample.Criteria andSkuValueGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(skuValue, value);
        }

        public MallSkuExample.Criteria andSkuValueLessThan(String value) {
            return lessThan(skuValue, value);
        }

        public MallSkuExample.Criteria andSkuValueLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(skuValue, value);
        }

        public MallSkuExample.Criteria andSkuValueLike(String value) {
            return like(skuValue, value);
        }

        public MallSkuExample.Criteria andSkuValueNotLike(String value) {
            return notLike(skuValue, value);
        }

        public MallSkuExample.Criteria andSkuValueIn(List<String> values) {
            return in(skuValue, values);
        }

        public MallSkuExample.Criteria andSkuValueNotIn(List<String> values) {
            return notIn(skuValue, values);
        }

        public MallSkuExample.Criteria andSkuValueBetween(String value1, String value2) {
            return between(skuValue, value1, value2);
        }

        public MallSkuExample.Criteria andSkuValueNotBetween(String value1, String value2) {
            return notBetween(skuValue, value1, value2);
        }
        public MallSkuExample.Criteria andSkuIdIsNull() {
            return isNull(skuId);
        }

        public MallSkuExample.Criteria andSkuIdIsNotNull() {
            return isNotNull(skuId);
        }

        public MallSkuExample.Criteria andSkuIdEqualTo(Long value) {
            return equalTo(skuId, value);
        }

        public MallSkuExample.Criteria andSkuIdNotEqualTo(Long value) {
            return notEqualTo(skuId, value);
        }

        public MallSkuExample.Criteria andSkuIdGreaterThan(Long value) {
            return greaterThan(skuId, value);
        }

        public MallSkuExample.Criteria andSkuIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(skuId, value);
        }

        public MallSkuExample.Criteria andSkuIdLessThan(Long value) {
            return lessThan(skuId, value);
        }

        public MallSkuExample.Criteria andSkuIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(skuId, value);
        }

        public MallSkuExample.Criteria andSkuIdIn(List<Long> values) {
            return in(skuId, values);
        }

        public MallSkuExample.Criteria andSkuIdNotIn(List<Long> values) {
            return notIn(skuId, values);
        }

        public MallSkuExample.Criteria andSkuIdBetween(Long value1, Long value2) {
            return between(skuId, value1, value2);
        }

        public MallSkuExample.Criteria andSkuIdNotBetween(Long value1, Long value2) {
            return notBetween(skuId, value1, value2);
        }
    }
}